package com.coolw.data.migrate.common.alarm.data;

import com.coolw.common.api.BaseDomain;
import com.coolw.data.migrate.enums.MigrateStatusEnum;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * 数据迁移告警数据模板
 *
 * @author coolw
 * @date 2024/2/22 10:05
 */
@Getter
@Setter
public class DataMigrateLogAlarmData extends BaseDomain {
    private static final long serialVersionUID = 9111836350303425011L;

    /**
     * 主键
     */
    private Integer id;

    /**
     * 源表名
     */
    private String sourceTableName;

    /**
     * 目标表名
     */
    private String targetTableName;

    /**
     * 本次源表预期迁移数量
     */
    private Integer totalSize;

    /**
     * 成功迁移数量
     */
    private Integer successSize;

    /**
     * 失败迁移数量
     */
    private Integer failSize;

    /**
     * 数据迁移状态;00-全部成功，01-部分成功，02-失败
     *
     * @see MigrateStatusEnum
     */
    private String statusDesc;

    /**
     * 耗时（毫秒）
     */
    private Long cost;

    /**
     * 告警次数;达到3次告警失败后，后续不再告警
     */
    private Integer alarmCount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 请求参数
     */
    private String reqParam;

    /**
     * 创建时间
     */
    private Date dateCreated;
}
